package com.grantheath.erebus.model.interfaces 
{
	import flash.display.DisplayObjectContainer;
	import org.puremvc.as3.interfaces.IProxy;
	
	/**
	 * @author grantheath
	 */
	public interface IErebusClassReferenceProxy extends IProxy 
	{
		//GETTERS AND SETTERS
		function get URLMediatorClass() : Class;
		function get pagePreloaderMediatorClass() : Class;
		function get pageMediatorClass() : Class;
		function get preferencesProxyClass() : Class;
		function get appStageMediatorClass() : Class;
		function get siteTreeProxyClass() : Class;
		function get layersProxyClass() : Class;
		function get URLProxyClass() : Class;
		function get pageLoaderProxyClass() : Class;
		function get assetLoaderProxyClass() : Class;
		function get assetLoaderClassReferenceProxy() : Class;
		function get layerClasses() : Array;
		function get pagePreloaderClasses() : Array;
		function get pageLoaderClasses() : Array;
		function get pageNodeClasses() : Array;
		function get assetNodeClasses() : Array;
		function get tranisitionHandelerClasses() : Array;
		function get appStage() : DisplayObjectContainer;
	}
}
